


//start by loading UkraineClean.csv

gen cj_dich = corr_justify_dich // needed to avoid long variable titles in regressions below


//TABLE 1: DESCRIPTIVE STATISTICS

// A. Experimental Indicators

tabstat correct_guesses cheat_rate bribe donate_norm, statistics(mean sd min max count) columns(statistics) format(%4.2f)
 
// B. Legal Career Preferences
 
tabstat publaw_avg judge_pref pros_pref inv_pref govlaw_pref bailiff_pref privlaw_avg deflaw_pref comlaw_pref notary_pref, statistics(mean sd min max count) columns(statistics) format(%4.2f)

// C. Attitudinal and Demographic Survey Variables

tabstat corr_justify_dich psm gpa risk_averse1 job_stable job_income male dep_publaw fam_law fam_pros_court, statistics(mean sd min max count) columns(statistics) format(%4.2f)


//TABLE 2: CORRELATIONS ACROSS DISHONESTY, CORRUPTION, PROSOCIAL MOTIVATION

// first run regressions; code for table is below


 eststo clear
foreach var in cheat_rate bribe donate_norm cj_dich psm {  
   reg `var' bribe, robust cluster(session)
   estimates store `var'_bribe
   }
   
   
    eststo clear
foreach var in cheat_rate bribe donate_norm cj_dich psm {  
   reg `var' cj_dich, robust cluster(session)
   estimates store `var'_cj
   }
   
   
    eststo clear
foreach var in cheat_rate bribe donate_norm cj_dich psm {  
   reg `var' donate_norm, robust cluster(session)
   estimates store `var'_donate
   }
   
   
    eststo clear
foreach var in cheat_rate bribe donate_norm cj_dich psm {  
   reg `var' psm, robust cluster(session)
   estimates store `var'_psm
   }
   
     eststo clear
foreach var in cheat_rate bribe donate_norm cj_dich psm {  
   reg `var' cheat_rate, robust cluster(session)
   estimates store `var'_cheat_rate
   }
   
   
   
	
//Panel A of Table 2	  
	  
esttab cheat_rate_bribe  donate_norm_bribe  donate_norm_cheat_rate,       ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
collabels("") nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" ) ///
varlabels(cheat_rate "Cheat Rate" bribe "Bribe" cj_dich "Corruption Justifiable" donate_norm "Donations" psm "PSM" _cons "Constant") ///
mgroups( "Cheat Rate" "Donations" "Donations", pattern(1 1 1  ) )


//Panel B of Table 2	  

esttab cheat_rate_cj cheat_rate_psm bribe_cj bribe_psm  donate_norm_cj donate_norm_psm,       ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
collabels("") nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" "(4)" "(5)" "(6)") ///
varlabels(cheat_rate "Cheat Rate" bribe "Bribe" cj_dich "Corruption Justifiable" donate_norm "Donations" psm "PSM" _cons "Constant") ///
mgroups( "Cheat Rate" "Cheat Rate" "Bribe" "Bribe" "Donations" "Donations", pattern(1 1 1 1 1 1  ) )



//TABLE 3: DISHONESTY, CORRUPTION, PROSOCIAL MOTIVATION & LEGAL CAREER PREFERENCES

// first run regressions; code for table is below

 eststo clear
foreach var in cheat_rate bribe donate_norm cj_dich psm {  
   reg `var' publaw_avg, robust cluster(session)
   estimates store `var'_pub
   }
   
 
 eststo clear
foreach var in cheat_rate bribe donate_norm cj_dich psm{  
   reg `var' privlaw_avg, robust cluster(session)
   estimates store `var'_priv
   }
   
   
 //Panel A of Table 3    
    
esttab cheat_rate_pub bribe_pub donate_norm_pub cj_dich_pub psm_pub,        ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
collabels("") nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" "(4)" "(5)" "(6)" ) /// 
varlabels(publaw_avg "Public Preference Index" _cons "Constant") ///
mgroups("Cheat Rate" "Gave/Accepted Bribe" "Donations" "Corruption Justifiable"  "PSM" , pattern(1 1 1 1 1 1) )


//Panel B of Table 3   

esttab cheat_rate_priv  bribe_priv donate_norm_priv cj_dich_priv psm_priv,        ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
collabels("") nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" "(4)" "(5)" "(6)" ) /// 
varlabels(privlaw_avg "Private Preference Index" _cons "Constant") ///
mgroups("Cheat Rate" "Gave/Accepted Bribe" "Donations" "Corruption Justifiable"  "PSM" , pattern(1 1 1 1 1 1) )
   


//TABLE 4: DISHONESTY, CORRUPTION, PROSOCIAL MOTIVATION & LEGAL CAREER PREFERENCES CONDITIONAL ON OTHER ATTRIBUTES

// first run regressions; code for table is below   


   //column 1
    eststo clear
foreach var in cheat_rate bribe donate_norm {  
   reg `var' publaw_avg gpa, robust cluster(session)
   estimates store `var'_gpa_pub
   }

   //column 2
  eststo clear
foreach var in cheat_rate bribe donate_norm {  
   reg `var' publaw_avg risk_averse1, robust cluster(session)
   estimates store `var'_risk_averse_pub
   }
   
   
   //column 3
     eststo clear
foreach var in cheat_rate bribe donate_norm {  
   reg `var' publaw_avg job_stable, robust cluster(session)
   estimates store `var'_job_stable_pub
   }
   
   //column 4
    eststo clear
foreach var in cheat_rate bribe donate_norm {  
   reg `var' publaw_avg job_income, robust cluster(session)
   estimates store `var'_job_income_pub
   }
  
    //column 5
    eststo clear
foreach var in cheat_rate bribe donate_norm {  
   reg `var' publaw_avg male, robust cluster(session)
   estimates store `var'_male_pub
   }
   
   //column 6
     eststo clear
foreach var in cheat_rate bribe donate_norm {  
   reg `var' publaw_avg dep_publaw, robust cluster(session)
   estimates store `var'_dep_pub
   }
   
   //column 7
   eststo clear
foreach var in cheat_rate bribe donate_norm {  
   reg `var' publaw_avg fam_law, robust cluster(session)
   estimates store `var'_fam_law_pub
   }
   
   //column 8
   eststo clear
foreach var in cheat_rate bribe donate_norm  {  
   reg `var' publaw_avg fam_pros_court, robust cluster(session)
   estimates store `var'_fam_publaw_pub
   }
   
   //column 9 in Panels A and C
      eststo clear
foreach var in cheat_rate donate_norm {  
   reg `var' publaw_avg bribe, robust cluster(session)
   estimates store `var'_bribe_pub
   }
   
   //column 9 in Panel B and column 10 in Panel C
     eststo clear
foreach var in  bribe donate_norm {  
   reg `var' publaw_avg cheat_rate, robust cluster(session)
   estimates store `var'_cheat_pub
   }
   
   //column 10 in Panels A and B
     eststo clear
foreach var in cheat_rate bribe {  
   reg `var' publaw_avg donate_norm, robust cluster(session)
   estimates store `var'_donate_pub
   }
   
   //column 11 
   eststo clear
foreach var in cheat_rate bribe donate_norm {  
   reg `var' publaw_avg gpa risk_averse1 job_stable job_income male dep_publaw fam_law fam_pros_court, robust cluster(session)
   estimates store `var'_all_pub
   }
   
   
   //column 12 for Panel A
   eststo clear
   reg cheat_rate publaw_avg gpa risk_averse1 job_stable job_income male dep_publaw fam_law fam_pros_court  bribe donate_norm, robust cluster(session)
  estimates store cheat_rate_all2_pub
  
   //column 12 for Panel B
  eststo clear
   reg bribe publaw_avg gpa risk_averse1 job_stable job_income male dep_publaw fam_law fam_pros_court cheat_rate  donate_norm, robust cluster(session)
   estimates store bribe_all2_pub
   
   //column 12 for Panel C
   eststo clear
   reg donate_norm publaw_avg gpa risk_averse1 job_stable job_income male dep_publaw fam_law fam_pros_court  bribe cheat_rate, robust cluster(session)
   estimates store donate_norm_all2_pub
   
   
 //Panel A of Table 4  
   esttab cheat_rate_gpa_pub cheat_rate_risk_averse_pub cheat_rate_job_stable_pub cheat_rate_job_income_pub  cheat_rate_male_pub cheat_rate_dep_pub cheat_rate_fam_law_pub cheat_rate_fam_publaw_pub cheat_rate_bribe_pub cheat_rate_donate_pub cheat_rate_all_pub cheat_rate_all2_pub, ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
collabels("") nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" "(4)" "(5)" "(6)" "(7)" "(8)" "(9)" "(10)" "(11)" "(12)") /// 
varlabels(publaw_avg "Pub. Preference Index" gpa "GPA" risk_averse1 "Risk Aversion" job_stable "Job Security" donate "Donations" PSM "PSM" job_income "Job Income" male "Male" ///
dep_publaw "Pub. Law Dep." fam_law "Family Ties: Lawyer" fam_pros_court "Family Ties: Courts" corr_index "Judiciary Corrupt" bribe "Gave/Accepted Bribe" donate_norm "Donations" _cons "Constant") ///
mgroups("Cheat Rate" , pattern(1 0 0 0 0 0 0 0 0 0 0) span prefix(\multicolumn{@span}{c}{) suffix(}))


//Panel B of Table 4

   esttab bribe_gpa_pub bribe_risk_averse_pub bribe_job_stable_pub bribe_job_income_pub  bribe_male_pub bribe_dep_pub bribe_fam_law_pub bribe_fam_publaw_pub bribe_cheat_pub bribe_donate_pub bribe_all_pub bribe_all2_pub, ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
collabels("") nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" "(4)" "(5)" "(6)" "(7)" "(8)" "(9)" "(10)" "(11)" "(12)") /// 
varlabels(publaw_avg "Pub. Preference Index" gpa "GPA" risk_averse1 "Risk Aversion" job_stable "Job Security" donate "Donations" PSM "PSM" job_income "Job Income" male "Male" ///
dep_publaw "Pub. Law Dep." fam_law "Family Ties: Lawyer" fam_pros_court "Family Ties: Courts" corr_index "Judiciary Corrupt" bribe "Gave/Accepted Bribe" donate_norm "Donations" _cons "Constant") ///
mgroups("Gave/Accepted Bribe" , pattern(1 0 0 0 0 0 0 0 0 0 0) span prefix(\multicolumn{@span}{c}{) suffix(}))


//Panel C of Table 4

   esttab donate_norm_gpa_pub donate_norm_risk_averse_pub donate_norm_job_stable_pub donate_norm_job_income_pub  donate_norm_male_pub donate_norm_dep_pub donate_norm_fam_law_pub donate_norm_fam_publaw_pub donate_norm_bribe_pub donate_norm_cheat_pub donate_norm_all_pub donate_norm_all2_pub, ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
collabels("") nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" "(4)" "(5)" "(6)" "(7)" "(8)" "(9)" "(10)" "(11)" "(12)") /// 
varlabels(publaw_avg "Pub. Preference Index" gpa "GPA" risk_averse1 "Risk Aversion" job_stable "Job Security" donate "Donations" PSM "PSM" job_income "Job Income" male "Male" ///
dep_publaw "Pub. Law Dep." fam_law "Family Ties: Lawyer" fam_pros_court "Family Ties: Courts" corr_index "Judiciary Corrupt" bribe "Gave/Accepted Bribe" donate_norm_norm "Donations" _cons "Constant") ///
mgroups("Cheat Rate" , pattern(1 0 0 0 0 0 0 0 0 0 0) span prefix(\multicolumn{@span}{c}{) suffix(}))


//For test in bottom row of each panel in Table 4:

//First need to rerun regressions used in Tables 3 and 4 without clustered standard errors so that the cluster command can be used with the suest command
 
 
 //from Table 3
  eststo clear
foreach var in cheat_rate bribe donate_norm {  
   reg `var' publaw_avg
   estimates store `var'_pub2
   }
   
 //from Table 4
 
     eststo clear
foreach var in cheat_rate bribe donate_norm {  
   reg `var' publaw_avg gpa
   estimates store `var'_gpa_pub2
   }

  eststo clear
foreach var in cheat_rate bribe donate_norm {  
   reg `var' publaw_avg risk_averse1
   estimates store `var'_risk_pub2 //shortened name here needed to store est
   }
   
        eststo clear
foreach var in cheat_rate bribe donate_norm {  
   reg `var' publaw_avg job_stable
   estimates store `var'_job_stable_pub2
   }
   
    eststo clear
foreach var in cheat_rate bribe donate_norm {  
   reg `var' publaw_avg job_income
   estimates store `var'_job_income_pub2
   }
  
    eststo clear
foreach var in cheat_rate bribe donate_norm {  
   reg `var' publaw_avg male
   estimates store `var'_male_pub2
   }
   
     eststo clear
foreach var in cheat_rate bribe donate_norm {  
   reg `var' publaw_avg dep_publaw
   estimates store `var'_dep_pub2
   }
   
   eststo clear
foreach var in cheat_rate bribe donate_norm {  
   reg `var' publaw_avg fam_law
   estimates store `var'_fam_law_pub2
   }
   
   eststo clear
foreach var in cheat_rate bribe donate_norm  {  
   reg `var' publaw_avg fam_pros_court
   estimates store `var'_fam_publaw_pub2
   }
   
      eststo clear
foreach var in cheat_rate donate_norm {  
   reg `var' publaw_avg bribe
   estimates store `var'_bribe_pub2
   }
   
     eststo clear
foreach var in  bribe donate_norm {  
   reg `var' publaw_avg cheat_rate
   estimates store `var'_cheat_pub2
   }
   
     eststo clear
foreach var in cheat_rate bribe {  
   reg `var' publaw_avg donate_norm
   estimates store `var'_donate_pub2
   }
   
   eststo clear
foreach var in cheat_rate bribe donate_norm {  
   reg `var' publaw_avg gpa risk_averse1 job_stable job_income male dep_publaw fam_law fam_pros_court
   estimates store `var'_all_pub2
   }
   
      eststo clear
   reg cheat_rate publaw_avg gpa risk_averse1 job_stable job_income male dep_publaw fam_law fam_pros_court  bribe donate_norm
  estimates store cheat_rate_all2_pub2
  
  eststo clear
   reg bribe publaw_avg gpa risk_averse1 job_stable job_income male dep_publaw fam_law fam_pros_court cheat_rate  donate_norm
   estimates store bribe_all2_pub2
   
   eststo clear
   reg donate_norm publaw_avg gpa risk_averse1 job_stable job_income male dep_publaw fam_law fam_pros_court  bribe cheat_rate
   estimates store donate_norm_all2_pub2
 
   
   
 //for bottom row of Panel A of Table 4 (p-values for chi-squared test reported)
 
	
 foreach var in cheat_rate_gpa_pub2 cheat_rate_risk_pub2 cheat_rate_job_stable_pub2 cheat_rate_job_income_pub2 ///
				cheat_rate_male_pub2 cheat_rate_dep_pub2 cheat_rate_fam_law_pub2 cheat_rate_fam_publaw_pub2 ///
				cheat_rate_bribe_pub2 cheat_rate_donate_pub2 cheat_rate_all_pub2 cheat_rate_all2_pub2 { 
    suest cheat_rate_pub2 `var', robust cluster(session) 
	test [cheat_rate_pub2_mean]publaw_avg-[`var'_mean]publaw_avg = 0
   }
   
   
   
 // for bottom row of Panel B of Table 4 (p-values for chi-squared test reported)
 
foreach var in bribe_gpa_pub2 bribe_risk_pub2 bribe_job_stable_pub2 bribe_job_income_pub2 ///
				bribe_male_pub2 bribe_dep_pub2 bribe_fam_law_pub2 bribe_fam_publaw_pub2 ///
				bribe_cheat_pub2 bribe_donate_pub2 bribe_all_pub2 bribe_all2_pub2 { 
    suest bribe_pub2 `var', robust cluster(session) 
	test [bribe_pub2_mean]publaw_avg-[`var'_mean]publaw_avg = 0
   }
   

 // for bottom row of Panel C of Table 4 (p-values for chi-squared test reported)

foreach var in donate_norm_gpa_pub2 donate_norm_risk_pub2 donate_norm_job_stable_pub2 donate_norm_job_income_pub2 ///
				donate_norm_male_pub2 donate_norm_dep_pub2 donate_norm_fam_law_pub2 donate_norm_fam_publaw_pub2 ///
				donate_norm_bribe_pub2 donate_norm_cheat_pub2 donate_norm_all_pub2 donate_norm_all2_pub2 { 
    suest donate_norm_pub2 `var', robust cluster(session) 
	test [donate_norm_pub2_mean]publaw_avg-[`var'_mean]publaw_avg = 0
   }
   


   
   
 ////////////////////////////////////////////////////////////////
 
 //APPENDIX MATERIAL
 
 
 // SECTION C 
 
 // Table C.1 - factor analysis
 
 factor judge_pref pros_pref inv_pref bailiff_pref govlaw_pref deflaw_pref comlaw_pref notary_pref, pcf factor(2) 
 rotate
 
 // Table C.2 - regressions with disaggregated career preference variables 
 
   //first run regressions
   
 eststo clear
foreach var in cheat_rate bribe donate_norm cj_dich psm {  
   reg `var' pros_pref, robust cluster(session)
   estimates store `var'_pros
   }
   
   
 eststo clear
foreach var in cheat_rate bribe donate_norm cj_dich psm {  
   reg `var' judge_pref, robust cluster(session)
   estimates store `var'_judge
   }
   
   
eststo clear
foreach var in cheat_rate bribe donate_norm cj_dich psm {  
   reg `var' inv_pref, robust cluster(session)
   estimates store `var'_inv
   }
   
 eststo clear
foreach var in cheat_rate bribe donate_norm cj_dich psm {  
   reg `var' bailiff_pref, robust cluster(session)
   estimates store `var'_bailiff
   }
   
   
    eststo clear
foreach var in cheat_rate bribe donate_norm cj_dich psm {  
   reg `var' govlaw_pref, robust cluster(session)
   estimates store `var'_govlaw
   }
   
   
    eststo clear
foreach var in cheat_rate bribe donate_norm cj_dich psm {  
   reg `var' deflaw_pref, robust cluster(session)
   estimates store `var'_deflaw
   }
   
   
    eststo clear
foreach var in cheat_rate bribe donate_norm cj_dich psm {  
   reg `var' comlaw_pref, robust cluster(session)
   estimates store `var'_comlaw
   }
   
   
    eststo clear
foreach var in cheat_rate bribe donate_norm cj_dich psm {  
   reg `var' notary_pref, robust cluster(session)
   estimates store `var'_notary
   }

//Panel A of Table C.2
	// results for judge and prosecutor preferences
   esttab cheat_rate_judge bribe_judge donate_norm_judge cj_dich_judge psm_judge cheat_rate_pros bribe_pros donate_norm_pros cj_dich_pros psm_pros,        ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
 nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" "(4)" "(5)" "(6)" "(7)" "(8)" "(9)" "(10)") ///
varlabels(judge_pref "Judge" pros_pref "Prosecutor" _cons "Constant") ///  
mgroups("Cheat Rate" "Bribe" "Donations" "Corruption Justifiable"  "PSM" " Cheat Rate" "Bribe" "Donations" "Corruption Justifiable"  "PSM", pattern(1 1 1 1 1 1 1 1 1 1 1))


   //results for investigator and bailiff preferences
     esttab cheat_rate_inv bribe_inv donate_norm_inv cj_dich_inv psm_inv cheat_rate_bailiff bribe_bailiff donate_norm_bailiff cj_dich_bailiff psm_bailiff,        ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
 nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" "(4)" "(5)" "(6)" "(7)" "(8)" "(9)" "(10)") ///
varlabels(inv_pref "Investigator" bailiff_pref "Bailiff" _cons "Constant") ///  
mgroups("Cheat Rate" "Bribe" "Donations" "Corruption Justifiable"  "PSM" " Cheat Rate" "Bribe" "Donations" "Corruption Justifiable"  "PSM", pattern(1 1 1 1 1 1 1 1 1 1 1) )


  //results for government lawyer preferences
    esttab cheat_rate_govlaw bribe_govlaw donate_norm_govlaw cj_dich_govlaw psm_govlaw,        ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
 nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" "(4)" "(5)" "(6)" "(7)" "(8)" "(9)" "(10)") ///
varlabels(govlaw_pref "Gov. Lawyer" _cons "Constant") ///  
mgroups("Cheat Rate" "Bribe" "Donations" "Corruption Justifiable"  "PSM" " Cheat Rate" "Bribe" "Donations" "Corruption Justifiable"  "PSM", pattern(1 1 1 1 1 1 1 1 1 1 1) )


  //Panel B of Table C.2
  
	// results for defense attorney and commercial lawyer preferences
     esttab cheat_rate_deflaw bribe_deflaw donate_norm_deflaw cj_dich_deflaw psm_deflaw cheat_rate_comlaw bribe_comlaw  donate_norm_comlaw  cj_dich_comlaw  psm_comlaw,        ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
 nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" "(4)" "(5)" "(6)" "(7)" "(8)" "(9)" "(10)") ///
varlabels(deflaw_pref "Defense Attorney" comlaw_pref "Commercial Litigator" _cons "Constant") ///  
mgroups("Cheat Rate" "Bribe" "Donations" "Corruption Justifiable"  "PSM" " Cheat Rate" "Bribe" "Donations" "Corruption Justifiable"  "PSM", pattern(1 1 1 1 1 1 1 1 1 1 1) )

//results for notary preferences
  esttab cheat_rate_notary bribe_notary donate_norm_notary cj_dich_notary psm_notary,        ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
 nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" "(4)" "(5)" "(6)" "(7)" "(8)" "(9)" "(10)") ///
varlabels(notary_pref "Notary" _cons "Constant") ///  
mgroups("Cheat Rate" "Bribe" "Donations" "Corruption Justifiable"  "PSM" " Cheat Rate" "Bribe" "Donations" "Corruption Justifiable"  "PSM", pattern(1 1 1 1 1 1 1 1 1 1 1) )


   
//Table C.3 - Analysis of Non-Experimental Indicators of Corruption and Prosocial Motivation Conditional on Other Attributes
   
   
    //column 1
    eststo clear
foreach var in cj_dich psm {  
   reg `var' publaw_avg gpa, robust cluster(session)
   estimates store `var'_gpa_pub
   }

   //column 2
     eststo clear
foreach var in cj_dich psm {  
   reg `var' publaw_avg risk_averse1, robust cluster(session)
   estimates store `var'_risk_averse_pub
   }
   
   
   //column 3
     eststo clear
foreach var in cj_dich psm {  
   reg `var' publaw_avg job_stable, robust cluster(session)
   estimates store `var'_job_stable_pub
   }
   
   //column 4
    eststo clear
foreach var in cj_dich psm {  
   reg `var' publaw_avg job_income, robust cluster(session)
   estimates store `var'_job_income_pub
   }
  
    //column 5
    eststo clear
foreach var in cj_dich psm {  
   reg `var' publaw_avg male, robust cluster(session)
   estimates store `var'_male_pub
   }
   
   //column 6
     eststo clear
foreach var in cj_dich psm {  
   reg `var' publaw_avg dep_publaw, robust cluster(session)
   estimates store `var'_dep_pub
   }
   
   //column 7
   eststo clear
foreach var in cj_dich psm {  
   reg `var' publaw_avg fam_law, robust cluster(session)
   estimates store `var'_fam_law_pub
   }
   
   //column 8
   eststo clear
foreach var in cj_dich psm {  
   reg `var' publaw_avg fam_pros_court, robust cluster(session)
   estimates store `var'_fam_publaw_pub
   }
   
   //column 9 
      eststo clear
foreach var in cj_dich psm {  
   reg `var' publaw_avg cheat_rate, robust cluster(session)
   estimates store `var'_cheat_pub
   }
   
   //column 10 in Panel A
 eststo clear
   reg cj_dich publaw_avg donate_norm, robust cluster(session)
  estimates store cj_dich_donate_pub
  
   //column 10 in Panel B
 eststo clear
   reg psm publaw_avg bribe, robust cluster(session)
  estimates store psm_bribe_pub
   
   //column 11 
   eststo clear
foreach var in cj_dich psm {  
   reg `var' publaw_avg gpa risk_averse1 job_stable job_income male dep_publaw fam_law fam_pros_court, robust cluster(session)
   estimates store `var'_all_pub
   }
  
   //column 12 for Panel A
   eststo clear
   reg cj_dich publaw_avg gpa risk_averse1 job_stable job_income male dep_publaw fam_law fam_pros_court  cheat_rate donate_norm, robust cluster(session)
  estimates store cj_dich_all2_pub
  
   //column 12 for Panel B
  eststo clear
   reg psm publaw_avg gpa risk_averse1 job_stable job_income male dep_publaw fam_law fam_pros_court cheat_rate  bribe, robust cluster(session)
   estimates store psm_all2_pub
   
   

// Panel A of Table C.3

esttab cj_dich_gpa_pub cj_dich_risk_averse_pub cj_dich_job_stable_pub cj_dich_job_income_pub cj_dich_male_pub cj_dich_dep_pub cj_dich_fam_law_pub cj_dich_fam_publaw_pub cj_dich_cheat_pub  cj_dich_donate_pub cj_dich_all_pub cj_dich_all2_pub, ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
collabels("") nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" "(4)" "(5)" "(6)" "(7)" "(8)" "(9)" "(10)" "(11)" "(12)") /// 
varlabels(publaw_avg "Pub. Preference Index" gpa "GPA" risk_averse1 "Risk Aversion" job_stable "Job Security" donate "Donations" PSM "PSM" job_income "Job Income" male "Male" ///
dep_publaw "Pub. Law Dep." fam_law "Family Ties: Lawyer" fam_pros_court "Family Ties: Courts" corr_index "Judiciary Corrupt" cheat_rate "Cheat Rate" bribe "Gave/Accepted Bribe" _cons "Constant") ///
mgroups("Corruption Justified" , pattern(1 0 0 0 0 0 0 0 0 0 0) span prefix(\multicolumn{@span}{c}{) suffix(}))


// Panel B of Table C.3

esttab psm_gpa_pub psm_risk_averse_pub psm_job_stable_pub psm_job_income_pub psm_male_pub psm_dep_pub psm_fam_law_pub psm_fam_publaw_pub psm_cheat_pub  psm_bribe_pub psm_all_pub psm_all2_pub, ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
collabels("") nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" "(4)" "(5)" "(6)" "(7)" "(8)" "(9)" "(10)" "(11)" "(12)") /// 
varlabels(publaw_avg "Pub. Preference Index" gpa "GPA" risk_averse1 "Risk Aversion" job_stable "Job Security" donate "Donations" PSM "PSM" job_income "Job Income" male "Male" ///
dep_publaw "Pub. Law Dep." fam_law "Family Ties: Lawyer" fam_pros_court "Family Ties: Courts" corr_index "Judiciary Corrupt" cheat_rate "Cheat Rate" bribe "Gave/Accepted Bribe" _cons "Constant") ///
mgroups("Corruption Justified" , pattern(1 0 0 0 0 0 0 0 0 0 0) span prefix(\multicolumn{@span}{c}{) suffix(}))

   
   
// Table C.4 - Correlates of Outcome Indicators

   
   //column 1
    eststo clear
foreach var in cheat_rate bribe donate_norm cj_dich psm {  
   reg `var' gpa, robust cluster(session)
   estimates store `var'_gpa
   }

   //column 2
     eststo clear
foreach var in cheat_rate bribe donate_norm cj_dich psm {  
   reg `var' risk_averse1, robust cluster(session)
   estimates store `var'_risk_averse
   }
   
   
   //column 3
     eststo clear
foreach var in cheat_rate bribe donate_norm cj_dich psm {  
   reg `var' job_stable, robust cluster(session)
   estimates store `var'_job_stable
   }
   
   //column 4
    eststo clear
foreach var in cheat_rate bribe donate_norm cj_dich psm {  
   reg `var' job_income, robust cluster(session)
   estimates store `var'_job_income
   }
  
    //column 5
    eststo clear
foreach var in cheat_rate bribe donate_norm cj_dich psm {  
   reg `var' male, robust cluster(session)
   estimates store `var'_male
   }
   
   //column 6
     eststo clear
foreach var in cheat_rate bribe donate_norm cj_dich psm {  
   reg `var' dep_publaw, robust cluster(session)
   estimates store `var'_dep
   }
   
   //column 7
   eststo clear
foreach var in cheat_rate bribe donate_norm cj_dich psm {  
   reg `var' fam_law, robust cluster(session)
   estimates store `var'_fam_law
   }
   
   //column 8
   eststo clear
foreach var in cheat_rate bribe donate_norm cj_dich psm {  
   reg `var' fam_pros_court, robust cluster(session)
   estimates store `var'_fam_publaw
   }
   
   //column 9 
     
   eststo clear
foreach var in cheat_rate bribe donate_norm cj_dich psm {  
   reg `var' gpa risk_averse1 job_stable job_income male dep_publaw fam_law fam_pros_court, robust cluster(session)
   estimates store `var'_all
   }
  
   
   //Cheat Rate as DV
     esttab cheat_rate_gpa cheat_rate_risk_averse cheat_rate_job_stable cheat_rate_job_income  cheat_rate_male cheat_rate_dep cheat_rate_fam_law cheat_rate_fam_publaw   cheat_rate_all , ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
collabels("") nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" "(4)" "(5)" "(6)" "(7)" "(8)" "(9)" "(10)" "(11)" "(12)") /// 
varlabels(gpa "GPA" risk_averse1 "Risk Aversion" job_stable "Job Security" donate "Donations" PSM "PSM" job_income "Job Income" male "Male" ///
dep_publaw "Pub. Law Dep." fam_law "Family Ties: Lawyer" fam_pros_court "Family Ties: Courts" corr_index "Judiciary Corrupt" bribe "Gave/Accepted Bribe" donate_norm_norm "Donations" _cons "Constant") ///
mgroups("Cheat Rate" , pattern(1 0 0 0 0 0 0 0 0) span prefix(\multicolumn{@span}{c}{) suffix(}))

    //Bribe as DV
     esttab bribe_gpa bribe_risk_averse bribe_job_stable bribe_job_income  bribe_male bribe_dep bribe_fam_law bribe_fam_publaw bribe_all, ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
collabels("") nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" "(4)" "(5)" "(6)" "(7)" "(8)" "(9)" "(10)" "(11)" "(12)") /// 
varlabels(gpa "GPA" risk_averse1 "Risk Aversion" job_stable "Job Security" donate "Donations" PSM "PSM" job_income "Job Income" male "Male" ///
dep_publaw "Pub. Law Dep." fam_law "Family Ties: Lawyer" fam_pros_court "Family Ties: Courts" corr_index "Judiciary Corrupt" bribe "Gave/Accepted Bribe" donate_norm_norm "Donations" _cons "Constant") ///
mgroups("Gave/Accepted Bribe" , pattern(1 0 0 0 0 0 0 0 0) span prefix(\multicolumn{@span}{c}{) suffix(}))

   
    //Donations as DV
     esttab donate_norm_gpa donate_norm_risk_averse donate_norm_job_stable donate_norm_job_income  donate_norm_male donate_norm_dep donate_norm_fam_law donate_norm_fam_publaw donate_norm_all, ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
collabels("") nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" "(4)" "(5)" "(6)" "(7)" "(8)" "(9)" "(10)" "(11)" "(12)") /// 
varlabels(gpa "GPA" risk_averse1 "Risk Aversion" job_stable "Job Security" donate "Donations" PSM "PSM" job_income "Job Income" male "Male" ///
dep_publaw "Pub. Law Dep." fam_law "Family Ties: Lawyer" fam_pros_court "Family Ties: Courts" corr_index "Judiciary Corrupt" bribe "Gave/Accepted Bribe" donate_norm_norm "Donations" _cons "Constant") ///
mgroups("Donations" , pattern(1 0 0 0 0 0 0 0 0) span prefix(\multicolumn{@span}{c}{) suffix(}))

       //Corruption Justified as DV
     esttab cj_dich_gpa cj_dich_risk_averse cj_dich_job_stable cj_dich_job_income  cj_dich_male cj_dich_dep cj_dich_fam_law cj_dich_fam_publaw cj_dich_all, ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
collabels("") nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" "(4)" "(5)" "(6)" "(7)" "(8)" "(9)" "(10)" "(11)" "(12)") /// 
varlabels(gpa "GPA" risk_averse1 "Risk Aversion" job_stable "Job Security" donate "Donations" PSM "PSM" job_income "Job Income" male "Male" ///
dep_publaw "Pub. Law Dep." fam_law "Family Ties: Lawyer" fam_pros_court "Family Ties: Courts" corr_index "Judiciary Corrupt" bribe "Gave/Accepted Bribe" donate_norm_norm "Donations" _cons "Constant") ///
mgroups("Corruption Justifiable" , pattern(1 0 0 0 0 0 0 0 0) span prefix(\multicolumn{@span}{c}{) suffix(}))

       //PSM as DV
     esttab psm_gpa psm_risk_averse psm_job_stable psm_job_income  psm_male psm_dep psm_fam_law psm_fam_publaw psm_all, ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
collabels("") nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" "(4)" "(5)" "(6)" "(7)" "(8)" "(9)" "(10)" "(11)" "(12)") /// 
varlabels(gpa "GPA" risk_averse1 "Risk Aversion" job_stable "Job Security" donate "Donations" PSM "PSM" job_income "Job Income" male "Male" ///
dep_publaw "Pub. Law Dep." fam_law "Family Ties: Lawyer" fam_pros_court "Family Ties: Courts" corr_index "Judiciary Corrupt" bribe "Gave/Accepted Bribe" donate_norm_norm "Donations" _cons "Constant") ///
mgroups("PSM Index" , pattern(1 0 0 0 0 0 0 0 0) span prefix(\multicolumn{@span}{c}{) suffix(}))

   
//Table C.5 - Correlates of Legal Career Preferences

   
     //column 1
    eststo clear
foreach var in publaw_avg privlaw_avg {  
   reg `var' gpa, robust cluster(session)
   estimates store `var'_gpa
   }

   //column 2
     eststo clear
foreach var in publaw_avg privlaw_avg {  
   reg `var' risk_averse1, robust cluster(session)
   estimates store `var'_risk_averse
   }
   
   
   //column 3
     eststo clear
foreach var in publaw_avg privlaw_avg {  
   reg `var' job_stable, robust cluster(session)
   estimates store `var'_job_stable
   }
   
   //column 4
    eststo clear
foreach var in publaw_avg privlaw_avg {  
   reg `var' job_income, robust cluster(session)
   estimates store `var'_job_income
   }
  
    //column 5
    eststo clear
foreach var in publaw_avg privlaw_avg {  
   reg `var' male, robust cluster(session)
   estimates store `var'_male
   }
   
   //column 6
     eststo clear
foreach var in publaw_avg privlaw_avg {  
   reg `var' dep_publaw, robust cluster(session)
   estimates store `var'_dep
   }
   
   //column 7
   eststo clear
foreach var in publaw_avg privlaw_avg {  
   reg `var' fam_law, robust cluster(session)
   estimates store `var'_fam_law
   }
   
   //column 8
   eststo clear
foreach var in publaw_avg privlaw_avg {  
   reg `var' fam_pros_court, robust cluster(session)
   estimates store `var'_fam_publaw
   }
   
   //column 9 
     
   eststo clear
foreach var in publaw_avg privlaw_avg {  
   reg `var' gpa risk_averse1 job_stable job_income male dep_publaw fam_law fam_pros_court, robust cluster(session)
   estimates store `var'_all
   }
  
   
   //Public Law Preference as DV
     esttab publaw_avg_gpa publaw_avg_risk_averse publaw_avg_job_stable publaw_avg_job_income  publaw_avg_male publaw_avg_dep publaw_avg_fam_law publaw_avg_fam_publaw   publaw_avg_all , ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
collabels("") nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" "(4)" "(5)" "(6)" "(7)" "(8)" "(9)" "(10)" "(11)" "(12)") /// 
varlabels(gpa "GPA" risk_averse1 "Risk Aversion" job_stable "Job Security" donate "Donations" PSM "PSM" job_income "Job Income" male "Male" ///
dep_publaw "Pub. Law Dep." fam_law "Family Ties: Lawyer" fam_pros_court "Family Ties: Courts" corr_index "Judiciary Corrupt" bribe "Gave/Accepted Bribe" donate_norm_norm "Donations" _cons "Constant") ///
mgroups("Public Law Preference Index" , pattern(1 0 0 0 0 0 0 0 0) span prefix(\multicolumn{@span}{c}{) suffix(}))

    //Private Law Preference as DV
     esttab privlaw_avg_gpa privlaw_avg_risk_averse privlaw_avg_job_stable privlaw_avg_job_income  privlaw_avg_male privlaw_avg_dep privlaw_avg_fam_law privlaw_avg_fam_publaw   privlaw_avg_all , ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
collabels("") nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" "(4)" "(5)" "(6)" "(7)" "(8)" "(9)" "(10)" "(11)" "(12)") /// 
varlabels(gpa "GPA" risk_averse1 "Risk Aversion" job_stable "Job Security" donate "Donations" PSM "PSM" job_income "Job Income" male "Male" ///
dep_publaw "Pub. Law Dep." fam_law "Family Ties: Lawyer" fam_pros_court "Family Ties: Courts" corr_index "Judiciary Corrupt" bribe "Gave/Accepted Bribe" donate_norm_norm "Donations" _cons "Constant") ///
mgroups("Private Law Preference Index" , pattern(1 0 0 0 0 0 0 0 0) span prefix(\multicolumn{@span}{c}{) suffix(}))

   
 //Table C.6 - Selection Conditional on Alternative Measure of Ability
   
    eststo clear
foreach var in cheat_rate bribe  donate_norm cj_dich psm {  
   reg `var' publaw_avg zno_ukr , robust cluster(session)
   estimates store `var'_zno_pub
   }
   
    eststo clear
foreach var in cheat_rate bribe  donate_norm cj_dich psm {  
   reg `var' publaw_avg zno_ukr risk_averse1 job_stable job_income male dep_publaw fam_law fam_pros_court, robust cluster(session)
   estimates store `var'_zno_all_pub
   }
   
   
esttab cheat_rate_zno_pub cheat_rate_zno_all_pub bribe_zno_pub bribe_zno_all_pub donate_norm_zno_pub donate_norm_zno_all_pub cj_dich_zno_pub cj_dich_zno_all_pub psm_zno_pub psm_zno_all_pub, ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
collabels("") nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" "(4)" "(5)" "(6)" "(7)" "(8)" "(9)" "(10)") /// 
varlabels(publaw_avg "Pub. Preference Index" zno_ukr "ZNO" risk_averse1 "Risk Aversion" job_stable "Job Security" donate "Donations" PSM "PSM" job_income "Job Income" male "Male" ///
dep_publaw "Pub. Law Dep." fam_law "Family Ties: Lawyer" fam_pros_court "Family Ties: Courts"  cheat_rate "Cheat Rate" bribe "Gave/Accepted Bribe" _cons "Constant") ///
mgroups("Estimated Cheat Rate" "Gave/Accepted Bribe" "Donations" "Coruption Justifiable" "PSM" , pattern(1 0 1 0 1 0 1 0 1 0 ) )


   
 // Table C.7 - Correlates of ZNO Scores
 
 eststo clear
foreach var in cheat_rate bribe  donate_norm cj_dich psm publaw_avg privlaw_avg {  
   reg `var' zno_ukr , robust cluster(session)
   estimates store `var'_zno
   }
   
   
   esttab cheat_rate_zno bribe_zno donate_norm_zno cj_dich_zno psm_zno publaw_avg_zno privlaw_avg_zno , ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
collabels("") nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" "(4)" "(5)" "(6)" "(7)") /// 
varlabels(zno_ukr "ZNO" _cons "Constant") ///
mgroups(" Cheat Rate" " Bribe" "Donations" "Coruption Justifiable" "PSM" "Public Preference" "Private Preference", pattern(1 1 1 1 1 1 1 ) )


   
   
// Table C.8 - Selection Conditional on Year of Study 

   
   
     eststo clear
foreach var in cheat_rate bribe donate_norm cj_dich  psm {  
   reg `var' publaw_avg i.class_yr , robust cluster(session)
   estimates store `var'_class_pub
   }
   
    eststo clear
foreach var in cheat_rate bribe  donate_norm cj_dich psm {  
   reg `var' publaw_avg i.class_yr gpa risk_averse1 job_stable job_income male dep_publaw fam_law fam_pros_court, robust cluster(session)
   estimates store `var'_class_all_pub
   }
   
   
   esttab cheat_rate_class_pub cheat_rate_class_all_pub bribe_class_pub bribe_class_all_pub donate_norm_class_pub donate_norm_class_all_pub cj_dich_class_pub cj_dich_class_all_pub psm_class_pub psm_class_all_pub, ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
collabels("") nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" "(4)" "(5)" "(6)" "(7)" "(8)" "(9)" "(10)") /// 
varlabels(publaw_avg "Pub. Preference Index" i.class_yr "Class Year" gpa "GPA" risk_averse1 "Risk Aversion" job_stable "Job Security" donate "Donations" PSM "PSM" job_income "Job Income" male "Male" ///
dep_publaw "Pub. Law Dep." fam_law "Family Ties: Lawyer" fam_pros_court "Family Ties: Courts"  cheat_rate "Cheat Rate" bribe "Gave/Accepted Bribe" _cons "Constant") ///
mgroups("Estimated Cheat Rate" "Gave/Accepted Bribe" "Donations" "Coruption Justifiable" "PSM" , pattern(1 0 1 0 1 0 1 0 1 0 ) span prefix(\multicolumn{@span}{c}{) suffix(}))

   
     
 // Table C.9 - Correlates of Year of Study 

 eststo clear
foreach var in cheat_rate bribe  donate_norm cj_dich psm publaw_avg privlaw_avg {  
   reg `var' i.class , robust cluster(session)
   estimates store `var'_class
   }
   
   
   esttab cheat_rate_class bribe_class donate_norm_class cj_dich_class psm_class publaw_avg_class privlaw_avg_class , ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
collabels("") nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" "(4)" "(5)" "(6)" "(7)") /// 
varlabels(i.class "Class Year" _cons "Constant") ///
mgroups(" Cheat Rate" " Bribe" "Donations" "Coruption Justifiable" "PSM" "Public Preference" "Private Preference", pattern(1 1 1 1 1 1 1 ) )


   
   
// Table C.10 - Selection Analysis with Public Law Deps Only

eststo clear
foreach var in cheat_rate bribe donate_norm cj_dich  psm {  
   reg `var' publaw_avg if dep_pub == 1, robust cluster(session)
   estimates store `var'_pub_sg1
   }
   
 
 eststo clear
foreach var in cheat_rate bribe donate_norm cj_dich  psm {  
   reg `var' privlaw_avg if dep_pub == 1, robust cluster(session)
   estimates store `var'_priv_sg1
   }
   

   
   //Panel A of Table C.10
    
  esttab cheat_rate_pub_sg1  bribe_pub_sg1 donate_norm_pub_sg1 cj_dich_pub_sg1 psm_pub_sg1 ,        ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
collabels("") nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" "(4)" "(5)" "(6)" ) /// 
varlabels(publaw_avg "Public Preference Index" _cons "Constant") ///
mgroups("Estimated Cheat Rate" "Gave/Accepted Bribe" "Donations" "Corruption Justifiable"  "PSM" , pattern(1 1 1 1 1 1) span prefix(\multicolumn{@span}{c}{) suffix(}))
  
  
  //Panel B of Table C.10
    esttab cheat_rate_priv_sg1  bribe_priv_sg1 donate_norm_priv_sg1 cj_dich_priv_sg1 psm_priv_sg1,        ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
collabels("") nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" "(4)" "(5)" "(6)" ) /// 
varlabels(privlaw_avg "Private Preference Index" _cons "Constant") ///
mgroups("Estimated Cheat Rate" "Gave/Accepted Bribe" "Donations" "Corruption Justifiable"  "PSM" , pattern(1 1 1 1 1 1) span prefix(\multicolumn{@span}{c}{) suffix(}))
   
   

  
     
// Table C.11 - Selection Analysis with Private Law Deps Only


eststo clear
foreach var in cheat_rate bribe donate_norm cj_dich  psm {  
   reg `var' publaw_avg if dep_pub == 0, robust cluster(session)
   estimates store `var'_pub_sg2
   }
   
 
 eststo clear
foreach var in cheat_rate bribe donate_norm cj_dich  psm {  
   reg `var' privlaw_avg if dep_pub == 0, robust cluster(session)
   estimates store `var'_priv_sg2
   }
   

   
   //Panel A of Table C.11
    
  esttab cheat_rate_pub_sg2  bribe_pub_sg2 donate_norm_pub_sg2 cj_dich_pub_sg2 psm_pub_sg2 ,        ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
collabels("") nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" "(4)" "(5)" "(6)" ) /// 
varlabels(publaw_avg "Public Preference Index" _cons "Constant") ///
mgroups("Estimated Cheat Rate" "Gave/Accepted Bribe" "Donations" "Corruption Justifiable"  "PSM" , pattern(1 1 1 1 1 1) span prefix(\multicolumn{@span}{c}{) suffix(}))
  
  
  //Panel B of Table C.11
    esttab cheat_rate_priv_sg2  bribe_priv_sg2 donate_norm_priv_sg2 cj_dich_priv_sg2 psm_priv_sg2,        ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
collabels("") nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" "(4)" "(5)" "(6)" ) /// 
varlabels(privlaw_avg "Private Preference Index" _cons "Constant") ///
mgroups("Estimated Cheat Rate" "Gave/Accepted Bribe" "Donations" "Corruption Justifiable"  "PSM" , pattern(1 1 1 1 1 1) span prefix(\multicolumn{@span}{c}{) suffix(}))
   
   

//Table C.14 - Logit Regressions


  eststo clear
   logit bribe publaw_avg
   margins, dydx(*) post
   estimates store bribe_logit_pub
   
  eststo clear
   logit cj_dich publaw_avg
   margins, dydx(*) post
   estimates store cj_dich_logit_pub
   
   
  eststo clear
   logit bribe privlaw_avg
   margins, dydx(*) post
   estimates store bribe_logit_priv
   
  eststo clear
   logit cj_dich privlaw_avg
   margins, dydx(*) post
   estimates store cj_dich_logit_priv
   
   
  esttab bribe_logit_pub cj_dich_logit_pub bribe_logit_priv cj_dich_logit_priv, ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
collabels("") nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" "(4)" "(5)" "(6)" "(7)" "(8)" "(9)" "(10)" "(11)") /// 
varlabels(publaw_avg "Public Preference Index" privlaw_avg "Private Preference Index" _cons "Constant") ///
mgroups("Gave/Accepted Bribe" "Corruption Justified"  "Gave/Accepted Bribe" "Corruption Justified", pattern(1 1 1 1) span prefix(\multicolumn{@span}{c}{) suffix(}))



//SECTION D

//Table D.1 - Analyses of Dice Task Game by 10 Rolls



 eststo clear
reg cheat_rate publaw_avg, robust cluster(session)
estimates store cheat_rate_reg

 eststo clear
reg cheat_rate1st10 publaw_avg, robust cluster(session)
estimates store cheat_rate1st_reg

 eststo clear
reg cheat_rate2nd10 publaw_avg, robust cluster(session)
estimates store cheat_rate2nd_reg

 eststo clear
reg cheat_rate3rd10 publaw_avg, robust cluster(session)
estimates store cheat_rate3rd_reg

 eststo clear
reg cheat_rate4th10 publaw_avg, robust cluster(session)
estimates store cheat_rate4th_reg



  esttab cheat_rate_reg cheat_rate1st_reg cheat_rate2nd_reg cheat_rate3rd_reg cheat_rate4th_reg,        ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
 nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" "(4)" "(5)" ) ///
varlabels(publaw_avg "Public Preference Index" _cons "Constant") ///  
mgroups("Cheat Rate - All 40 Rolls" "Cheat Rate - 1st 10 Rolls" "Cheat Rate - 2nd 10 Rolls" "Cheat Rate - 3rd 10 Rolls" "Cheat Rate - 4th 10 Rolls", pattern(1 1 1 1 1) )




//Table D.2 - Disaggregated Analyses of Corruption Game

 eststo clear
reg bribe publaw_avg, robust cluster(session)
estimates store bribe_reg

 eststo clear
reg bribe_offer publaw_avg, robust cluster(session)
estimates store bribe_offer_reg

 eststo clear
reg bribe_accept publaw_avg, robust cluster(session)
estimates store bribe_accept_reg

  esttab bribe_reg bribe_offer_reg bribe_accept_reg,        ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
 nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" ) ///
varlabels(publaw_avg "Public Preference Index" _cons "Constant") ///  
mgroups("Gave/Accepted Bribe" "Gave Bribe" "Accepted Bribe" , pattern(1 1 1) span prefix(\multicolumn{@span}{c}{) suffix(}))



//Table D.3 - Primary Analyses with Inattentive Subjects Removed


 eststo clear
foreach var in cheat_rate bribe donate_norm cj_dich psm {  
   reg `var' publaw_avg if screener != 0, robust cluster(session)
   estimates store `var'_pub_att
   }
   
 
 eststo clear
foreach var in cheat_rate bribe donate_norm cj_dich  psm {  
   reg `var' privlaw_avg if screener != 0, robust cluster(session)
   estimates store `var'_priv_att
   }
      
   
   
    //Panel A of Table D.3
  esttab cheat_rate_pub_att  bribe_pub_att donate_norm_pub_att cj_dich_pub_att psm_pub_att ,        ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
collabels("") nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" "(4)" "(5)" "(6)" ) /// 
varlabels(publaw_avg "Public Preference Index" _cons "Constant") ///
mgroups("Estimated Cheat Rate" "Gave/Accepted Bribe" "Donations" "Corruption Justifiable"  "PSM" , pattern(1 1 1 1 1 1) span prefix(\multicolumn{@span}{c}{) suffix(}))
  
  //Panel B of Table D.3
    esttab cheat_rate_priv_att  bribe_priv_att donate_norm_priv_att cj_dich_priv_att psm_priv_att,        ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
collabels("") nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" "(4)" "(5)" "(6)" ) /// 
varlabels(privlaw_avg "Private Preference Index" _cons "Constant") ///
mgroups("Estimated Cheat Rate" "Gave/Accepted Bribe" "Donations" "Corruption Justifiable"  "PSM" , pattern(1 1 1 1 1 1) span prefix(\multicolumn{@span}{c}{) suffix(}))
   



//Table D.4 - Primary Analyses With Subjects With Knowledge of Experimental Games Removed



 eststo clear
foreach var in cheat_rate bribe donate_norm cj_dich  psm {  
   reg `var' publaw_avg if soc_sci_knowledge == 0, robust cluster(session)
   estimates store `var'_pub_ss
   }
   
 
 eststo clear
foreach var in cheat_rate bribe donate_norm cj_dich  psm {  
   reg `var' privlaw_avg if soc_sci_knowledge == 0, robust cluster(session)
   estimates store `var'_priv_ss
   }
      
   
   
    //Panel A in Table D.4
  esttab cheat_rate_pub_ss  bribe_pub_ss donate_norm_pub_ss cj_dich_pub_ss psm_pub_ss,        ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
collabels("") nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" "(4)" "(5)" "(6)" ) /// 
varlabels(publaw_avg "Public Preference Index" _cons "Constant") ///
mgroups("Estimated Cheat Rate" "Gave/Accepted Bribe" "Donations" "Corruption Justifiable"  "PSM" , pattern(1 1 1 1 1 1) span prefix(\multicolumn{@span}{c}{) suffix(}))
  
   //Panel B in Table D.4
    esttab cheat_rate_priv_ss  bribe_priv_ss donate_norm_priv_ss cj_dich_priv_ss psm_priv_ss,        ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
collabels("") nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" "(4)" "(5)" "(6)" ) /// 
varlabels(privlaw_avg "Private Preference Index" _cons "Constant") ///
mgroups("Estimated Cheat Rate" "Gave/Accepted Bribe" "Donations" "Corruption Justifiable"  "PSM" , pattern(1 1 1 1 1 1) span prefix(\multicolumn{@span}{c}{) suffix(}))
   



//Table D.5 - Primary Analyses Replacing Legal Career Preferences with Expectations

eststo clear
foreach var in cheat_rate bribe donate_norm cj_dich psm {  
   reg `var' publaw_exp_avg, robust cluster(session)
   estimates store `var'_pub_exp
   }
   
 
 eststo clear
foreach var in cheat_rate bribe donate_norm cj_dich psm{  
   reg `var' privlaw_exp_avg, robust cluster(session)
   estimates store `var'_priv_exp
   }
   
   
 //Panel A of Table D.5   
    
esttab cheat_rate_pub_exp bribe_pub_exp donate_norm_pub_exp cj_dich_pub_exp psm_pub_exp,        ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
collabels("") nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" "(4)" "(5)" "(6)" ) /// 
varlabels(publaw_avg "Public Expectations Index" _cons "Constant") ///
mgroups("Cheat Rate" "Gave/Accepted Bribe" "Donations" "Corruption Justifiable"  "PSM" , pattern(1 1 1 1 1 1) )


//Panel B of Table D.5  

esttab cheat_rate_priv_exp  bribe_priv_exp donate_norm_priv_exp cj_dich_priv_exp psm_priv_exp,        ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
collabels("") nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" "(4)" "(5)" "(6)" ) /// 
varlabels(privlaw_avg "Private Expectations Index" _cons "Constant") ///
mgroups("Cheat Rate" "Gave/Accepted Bribe" "Donations" "Corruption Justifiable"  "PSM" , pattern(1 1 1 1 1 1) )
   

//Table D.6 - Primary Analyses with Weak Preferences for Legal Professions Removed



 eststo clear
foreach var in cheat_rate bribe donate_norm cj_dich psm {  
   reg `var' publaw_avg if other_pref == 0, robust cluster(session)
   estimates store `var'_pub_weak
   }
   
 
 eststo clear
foreach var in cheat_rate bribe donate_norm cj_dich psm {  
   reg `var' privlaw_avg if other_pref == 0, robust cluster(session)
   estimates store `var'_priv_weak
   }
      
   
    //Panel A of Table D.6 
  esttab cheat_rate_pub_weak  bribe_pub_weak donate_norm_pub_weak cj_dich_pub_weak psm_pub_weak,        ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
collabels("") nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" "(4)" "(5)" "(6)" ) /// 
varlabels(publaw_avg "Public Preference Index" _cons "Constant") ///
mgroups("Estimated Cheat Rate" "Gave/Accepted Bribe" "Donations" "Corruption Justifiable"  "PSM" , pattern(1 1 1 1 1 1))
  
   //Panel B of Table D.6 
    esttab cheat_rate_priv_weak  bribe_priv_weak donate_norm_priv_weak cj_dich_priv_weak psm_priv_weak,        ///
se(3) b(3) r2 nogaps star($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001) compress unstack replace label ///
collabels("") nonumbers starlevels($^{\dagger}$ 0.10 $^*$ 0.05 $^{**}$ 0.01 $^{***}$ 0.001)  mtitles( "(1)" "(2)" "(3)" "(4)" "(5)" "(6)" ) /// 
varlabels(privlaw_avg "Private Preference Index" _cons "Constant") ///
mgroups("Estimated Cheat Rate" "Gave/Accepted Bribe" "Donations" "Corruption Justifiable"  "PSM" , pattern(1 1 1 1 1 1))
   

   
